//#ifndef _POINT_LOCATOR_H_
//#define _POINT_LOCATOR_H_

#pragma once

#include <boost\optional\optional.hpp>

#include "polygon.h"
#include "grid.h"
#include "locatorcell.h"
#define ___GEOMETRY_MATH_
#include "MAP_OBJECT.h"

class point_locator_t
{
public:
	point_locator_t();
	point_locator_t(std::vector<MAP_OBJECT> const & objs, double cell_size = 100);
	
	int inside(point_t const & point) const;

private:
	grid_t<locator_cell_t, locator_cell_inserter> grid_;
	void make_centers_parent();
};

//#endif